<?php

    class PessoaModel extends CI_Model{
        
        public function testaLogin($login){
            $this->db->where('login', $login);
            return $this->db->get('membro')->row();
        }

        public function testaSenha($login, $senha){
            $this->db->where('login', $login);
            $this->db->where('senha', $senha);
            return $this->db->get('membro')->row();
        }
        
        public function testaEmail($email){
            $this->db->where('email',$email);
            $this->db->select('id, nome_membro, email');
            return $this->db->get('membro')->row();
        }
        
        public function cadastrarPessoa($dados){
             $this->db->insert('membro', $dados);
             $this->db->where('nome_membro', $dados['nome_membro']);
             return $this->db->get('membro')->row()->id;
        }
        
        public function adicionarMembroNoCargo($dados){
            return $this->db->insert('cargo_x_membro', $dados);
        }
        
        public function editarMembro($dados){
            $this->db->where('id', $dados['id']);
            return $this->db->update('membro', $dados);
        }
        
        public function excluirMembro($id){
            $this->db->where('membro_id',$id);
            $this->db->delete('cargo_x_membro');
            
            $this->db->where('membro_id',$id);
            $this->db->delete('cases_x_membro');
            
            $this->db->where('membro_id',$id);
            $this->db->delete('membro_x_falta');
            
            $this->db->where('membro_id',$id);
            $this->db->delete('voluntariado');
            
            $this->db->where('id', $id);
            return $this->db->delete('membro');
        }
        
        public function getMembro($id){
            $this->db->where('id', $id);
            return $this->db->get('membro')->row();
        }
        
        public function getCargosMembro($id){
            $this->db->where('membro_id', $id);
            $this->db->select('cargo_x_mej.cargo_id, mej.mej, cargo_x_mej.mej_id');
            $this->db->join('cargo_x_membro','cargo_x_mej.id = cargo_x_membro.cargo_id');
            $this->db->join('mej','cargo_x_mej.mej_id = mej.id');
            return $this->db->get('cargo_x_mej')->result();
        }
        
        public function listarMembros(){
            $this->db->order_by('nome_membro');
            return $this->db->get('membro')->result();
        }
        
        public function dropMembros(){
            $this->db->select('id, nome_membro');
            $this->db->order_by('nome_membro','asc');
            $values = $this->db->get('membro')->result_array();
            
            $options = array();
            $options[''] = '- Selecione -';
            foreach($values as $value){
                $options[$value['id']] = $value['nome_membro'];
            }
            return $options;
        }
        
        public function getNomeMembro($id){
            $this->db->where('id', $id);
            $result = $this->db->get('membro')->row();
            if($result){
                return $result->nome_membro;
            }else{
                return ' - ';
            }
        }
        
        public function getDiretoriaMembro($id){
            $this->db->where('id', $id);
            $result = $this->db->get('diretoria')->row();
            if($result){
                return $result->diretoria;
            }else{
                return ' - ';
            }
        }
        
        public function getNucleoMembro($id){
            $this->db->where('id', $id);
            $result = $this->db->get('nucleo')->row();
            if($result){
                return $result->nucleo;
            }else{
                return ' - ';
            }
        }
        
        public function getMejsParaCadastro(){
            $this->db->join('mej','cargo_x_mej.mej_id = mej.id');
            $this->db->select('mej.mej, cargo_x_mej.id');
            return $this->db->get('cargo_x_mej')->result();
        }
        
        public function getPontosPositivos($id){
            $this->db->where('membro_id',$id);
            $this->db->join('cases_x_membro','cases_x_membro.case_id = cases.id');
            $this->db->join('estado_case', 'cases.estado_id = estado_case.id');
            $result['cases'] = $this->db->get('cases')->result();
            
            $this->db->where('membro_id', $id);
            $this->db->join('tipo_voluntariado', 'voluntariado.tipo_id = tipo_voluntariado.id');
            $result['voluntariado'] = $this->db->get('voluntariado')->result();
            
            return $result;
        }
        
        public function getPontosNegativos($id){
            $this->db->where('membro_id', $id);
            $this->db->join('falta','falta.id = membro_x_falta.falta_id');
            return $this->db->get('membro_x_falta')->result();
        }
        
    }

?>
